Communications Systems widely adopt error correction coding techniques to combat with error introduced by interference and noise. FIG. 1 illustrates a typical communication system with error correction techniques which comprises an error correction encoder 100 at transmitter and a decoder 110 at receiver. The class of error control codes, referred to as turbo codes, offers significant coding gain for power limited communications channels. UMTS standards defined turbo codes for WCDMA specifications and LTE specification using identical constituent recursive convolutional codes with the difference of interleaver design. A tail sequence of 12 bits are used to terminate the trellis to enforce the state to zero state.
Turbo codes are decoded by iterative decoding algorithms. The BCJR algorithm which is based on maximum a posteriori (MAP) decoding needs to compute forward state metric calculation and backward state metric calculations [1]. Multiple iterations of MAP decoding are performed to gradually improve the decoding reliability.
Conventional turbo decoder design treats tails bit identically as information and parity bits to compute the backward state metrics. For UMTS turbo code, the 6 tails bits for each constituent decoder are treated as 3 additional trellis stages for decoding. At each iteration, the state metric initial stage computation is repeated although no additional information is provided. This problem is especially complicated in LTE turbo code, where the block size is always defined as multiple of two and radix-4 turbo decoding can be applied. In radix-4 decoding, each decoding stage generates 2 extrinsic information and process two trellis stages instead of one from normal radix-2 decoding. Since the number of stage for trellis termination is 3, special handling has to be done for backward metric calculation since the number of stage of trellis termination is not dividable by 2.
[1] L. Bahl, J. Cocke, F. Jelinek, and J. Raviv, “Optimal Decoding of Linear Codes for minimizing symbol error rate”, IEEE Transactions on Information Theory, vol. IT-20 (2), pp. 284-287, March 1974.